//package cn.itcast.util.imageshort;
//
///**
// * @author hanchuo
// * @date 2020/12/8
// **/
//
//import org.bytedeco.javacv.FFmpegFrameGrabber;
//import org.bytedeco.javacv.Frame;
//import org.bytedeco.javacv.FrameGrabber;
//import org.bytedeco.javacv.Java2DFrameConverter;
//import sun.misc.IOUtils;
//
//import javax.imageio.ImageIO;
//import java.awt.image.BufferedImage;
//import java.io.ByteArrayOutputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.IOException;
//import java.util.Base64;
//import java.util.UUID;
//
///**
// * 创建缩略图
// */
//public class CreateImage {
//
//  /**
//   * 截取视频第六帧的图片 防止出现空白图片
//   *
//   * @param filePath 视频路径
//   * @param dir      文件存放的根目录
//   * @return 图片的相对路径 例：pic/1.png
//   * @throws FrameGrabber.Exception
//   */
//  public static String fetchFrame(String filePath) throws Exception {
//    FFmpegFrameGrabber fFmpegFrameGrabber = FFmpegFrameGrabber.createDefault(filePath);
//    fFmpegFrameGrabber.start();
//    int fflength = fFmpegFrameGrabber.getLengthInFrames();
//    int i = 0;
//    Frame frame = null;
//    String base64Str="";
//    while (i < fflength) {
//      frame = fFmpegFrameGrabber.grabFrame();
//      if ((i > 5) && (frame.image != null)) {
//        Java2DFrameConverter converter = new Java2DFrameConverter();
//        BufferedImage bufferedImage = converter.getBufferedImage(frame);
//        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//        ImageIO.write(bufferedImage,"png",byteArrayOutputStream);
//        byte[] bytes = byteArrayOutputStream.toByteArray();
//        base64Str = Base64.getEncoder().encodeToString(bytes);
//        break;
//      }
//      i++;
//    }
//    fFmpegFrameGrabber.stop();
//    return base64Str;
//  }
//
//  /**
//   * 生成图片的相对路径
//   *
//   * @return 图片的相对路径 例：pic/1.png
//   */
//  private static String getPngPath() {
//    return "pic/" + getUUID() + ".png";
//  }
//
//  /**
//   * 生成唯一的uuid
//   *
//   * @return uuid
//   */
//  private static String getUUID() {
//    return UUID.randomUUID().toString().replace("-", "");
//  }
//
//  /**
//   * 截取缩略图
//   *
//   * @param f                       Frame
//   * @param targerFilePath:封面图片存放路径
//   */
//  private static void doExecuteFrame(Frame f, String targerFilePath) {
//
//    String imagemat = "png";
//    if (null == f || null == f.image) {
//
//    }
//    Java2DFrameConverter converter = new Java2DFrameConverter();
//    BufferedImage bi = converter.getBufferedImage(f);
//    File output = new File(targerFilePath);
//
//    if (!output.exists()) {
//      //先得到文件的上级目录，并创建上级目录，在创建文件
//      output.getParentFile().mkdir();
//      try {
//        //创建文件
//        output.createNewFile();
//      } catch (IOException e) {
//        e.printStackTrace();
//      }
//    }
//    try {
//      ImageIO.write(bi, imagemat, output);
//    } catch (IOException e) {
//      e.printStackTrace();
//    }
//  }
//}
